System for using an authorization token to separate authentication and authorization services

ABSTRACT

A novel system for utilizing an authorization token to separate authentication and authorization services. The system authenticates a client to an authenticating server; generates an authorization token with the authenticating server and the client; and authorizes services for the client using the generated authorization token. The authorization token may be transferred via a third party, or may be utilized to extend an initial session without re-authentication.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the priority benefit of U.S. Provisional Application No. 60/867,377, filed Nov. 27, 2006.

TECHNICAL FIELD OF THE INVENTION

The present invention relates generally to telecommunications, and more particularly, to a versatile system for using an authorization token to separate authentication and authorization services.

BACKGROUND OF THE INVENTION

Conventionally, an act of authentication is not separated from an act of authorization. Typically, once an end-user client is authenticated by an authentication server, that user is also authorized by the same server to use a specific service. In the case that authentication and authorization are performed by the same server, the server is capable of performing cryptographic functions related to authentication. It also has access to user credentials and identities; and may be capable of accessing a user's profile and service access rights, as well as interacting with service equipment to see if service may be granted.

As diverse broadband access technologies are increasingly developed and deployed, revenue margins for access providers tend to decrease. Diversity of access technologies also dictates a need for access-independent application and service offerings—such that a service-only provider can deploy a single service-architecture for any user, regardless of underlying access technology, while co-existing with access providers providing only connectivity. Mobile Internet Protocol v6 (MIPv6) operational development is, for example, considering scenarios where a mobility service provider is separate and distinct from an access service provider. Different providers will naturally use different Authenticating, Authentication, and Authorization (AAA) servers, and possibly different AAA infrastructure, to control and manage resource usage and users.

Service provider equipment and infrastructure may be different from network access equipment. For instance, a MIP Home Agent (HA) may be part of a service provider network, while a network access server/Extensible Authentication Protocol (EAP) authenticator may be part of a network access provider. A separation of signaling path for authorization and authentication may be needed in such a configuration.

Conventional systems have typically used the same authentication and authorization credentials. However, this may not be so in the future, if cleaner separation of authentication and authorization functions and servers are developed, and better protection of sensitive authentication credentials against brute force attacks are desired. The less that authentication credentials are used, the better—from a security standpoint. Separation may be especially beneficial since an authentication procedure may typically establish a set of security associations with network boundaries, and later the authorization signaling may be performed over this secure channel using less security-intense authorization credentials.

By way of illustration, consider an analogy of watching a movie at a movie theater. At least for the time being, watching a movie requires only a movie ticket. Showing a movie ticket does not require showing a drivers license, particularly when a person may have already shown a drivers license in conjunction with paying for the ticket (e.g., with a credit card).

Another approach is being developed in the Internet Engineering Task force (IETF) to address issues arising in conjunction with this new trend—one where no proof of prior authentication is provided to an authorizing server. This approach is obviously subject to a number of security concerns, however.

By way of illustration, Kerberos is a conventional technology for performing authentication and authorization separately. Using Kerberos, a token is generated in an authentication process, and is used for authorization. However, both a service server and a client receive keys through a Key Distribution Center (KDC), via secure transport. No keys are transported between the service server and the client. A token is service specific, and is encrypted with a key, known only to the service server. Retrieval of the token requires additional roundtrips between a client and the KDC server.

Another emerging trend is the use of extensible authentication protocol (EAP) for authentication of mobile nodes at AAA servers. Key generation capabilities of EAP servers [EAPKEYING] [USRK], combined with the addition of EAP as an authentication method for IKEv2 [IKEv2], and use of backend Diameter servers and infrastructure [RFC4072], have made EAP a popular authentication method—as compared to customized authentication and key management mechanisms defined for MIPv4 or Kerberos. Once EAP authentication is performed successfully, and EAP master session keys (MSK and EMSK) are generated, a server will be able to use these keys to generate root keys for a variety of uses—such as MIPv6 [MIP-USRK].

Since MIPv6 operation requires bootstrapping of various parameters—such as home address, home agent address, and IPsec security associations—efforts in the IETF are underway to perform such bootstrapping through AAA infrastructure. In more recent efforts, the IPSec association required for MIPv6 operation between a mobile node (MN) and a home agent (HA) is established using IKEv2. To get around the need for pre-shared key for IKEv2 authentication, the MN authenticates through a MIP home agent (HA) to a backend AAAn, using EAP. Thus, EAP authentication is done as part of an IKEv2 exchange. However, the authentication of an MN is only part of the MIP service establishment procedure. Once the MN completes the IKEv2-EAP authentication, and establishes an IPsec channel with the HA, it still needs to be authorized for use MIP service. This typically means that an authorization server (usually also an AAA server) needs to perform the act of authorization.

The recent trend on separation of access service from mobility service, leads to newer design that separates the act of EAP authentication from the act of authorization for MIPv6 service. Under this paradigm, a peer and AAA client first run an EAP authentication with an authenticating AAA server—referred to as AAA-EAP or AAAn. The peer then requests MIPv6 service authorization from an authorizing server—referred to as MIPAAA or AAAz. It has been suggested that there may be scenarios where AAAn and AAAz are logically or physically different servers, and may not have access to the same database. A number of security and operation considerations arise in such scenarios.

For instance, an AAAn server that only performs authentication is not only unaware of future service requests by a peer, but also is not able to provide any such authorization. However an AAAn, as an entity performing EAP, is the only entity allowed to cache EMSK—since EMSK is not allowed to be transported outside AAAn [EAPKEYING]. This means that root keys for other usages—such as MIPv6_USRK (Mobile IPv6 usage specific root key)—can only be generated at and by the AAAn. In contrast, MIP service is authorized only at AAAz. This means that the MIPv6-USRK must be created only after such authorization, and be accessible to the AAAz for generation of other MIPv6 security keys. Furthermore, generation of MIPv6_USRK requires access to other “usage data” specific for Mobile IPv6; which is typically not available at the AAAn. Thus, the AAAz must make the “usage data” available to the AAAn, and request MIPv6_USRK from the AAAn, in order to be able to generate further MIPv6 keys.

In further consideration, most traditional authorization frameworks simply do not have any special credential-based procedure for authorization. An authorization decision itself is performed based a user profile available at a server—not based on a credential presented by a client as proof for a right of access to service. As long as the client is previously authenticated, the client's identity is used against its profile in a database. Under this scheme, using the movie theater analogy, a person walks into a movie theater and—instead of paying for a ticket as a proof of right to view a movie—the person simply shows some identification. Based on the person's identity, and upon some movie theater membership list—the person is allowed to just walk into the theater without a ticket.

However, such separation of authorization from authentication means that an authorizing server (AAAz) needs an assurance of previous authentication from an authenticating server (AAAn). Even if an identical peer identifier is used for both authentication and authorization requests with AAAn and AAAz, respectively, there is still no explicit proof presented to the AAAz that the peer has proved this identity to the AAAn. Furthermore, the lack of a prior state—especially the lack of established security association between the peer (e.g., an MN in MIP protocol) and the AAAz—has a cascading effect on security problems. A rogue MN (or even an AAA client) could potentially use a spoofed identity (for a legitimate subscriber) to send service requests on behalf of a legitimate MN, and have charges for rendered services transferred to the legitimate MN. Existence of an MN-HA IPsec association can protect service requests on the MN-HA path to the AAAz, but does not provide any integrity or non-repudiation protection for MN service requests outside the MN-HA. Any proxy or middle man (including the HA itself) on the path from HA to the AAAz can modify a service request. So it is important that when AAAz receives a service request from an MN, it can confirm that the MN has already been authenticated by an AAAn, and is using the same authenticated identity for its service request—so that the AAAz can authorize service for a legitimate MN.

Still other applications, such as Handover Keying (HOKEY), provide useful illustration of this technology. In most conventional HOKEY applications, deployments of EAP in wireless networks employ an authenticator in pass-through mode (typically located at an edge) coupled with a backend AAA/EAP server. A number of conventional EAP systems generate an MSK and an EMSK. The MSK may be used by several EAP lower layers—however, the EMSK typically remains at a peer and server, and does not appear to be utilized in current specifications or standards. Different EAP lower layers make use of the MSK differently. A common usage for MSK is to derive Transient Session Keys (TSKs)—providing access link security in networks (e.g., IEEE 802.11i, IEEE 802.16e)—although some lower layers (e.g., IKEv2) use MSK for other purposes.

Extensions to current EAP key framework will be needed in the future to facilitate inter-authenticator handover and roaming. There are a number of issues that may arise in relation to EAP keying. For example, inter-authenticator handovers currently require re-execution of EAP authentication, even though the same EAP authentication server is used. Handover scenarios may vary considerably in their fundamental assumptions and functional constraints. In scenarios where, for example, hosts remain connected during a handover period, EAP authentication does not need to be in the critical path for handover. There are, however, scenarios where necessary connectivity is not available to support “make before break” communications. In these scenarios, significant handover latency can result. To avoid such latency, conventional SDOs have employed methods—such as context transfer and anchoring—that tend to be inefficient, insecure or both.

Other issues may arise where EAP peers—with unexpired keying material from a full EAP exchange—must take part in a full EAP exchange with the same AAA server to extend a session. Although some conventional EAP systems do provide re-authentication mechanisms, more consistent, low-latency, EAP-method-independent, re-authentication mechanisms are needed. Also, an EAP-generated EMSK key may be used as a root of a cryptographic key hierarchy—where keys in the hierarchy are then used in various ways to provide necessary security services. In order to ensure that different keys derived from an EMSK are cryptographically separate, and that such key derivations are coordinated in an acceptable manner, there is a need to clearly specify hierarchy parameters—such as topology for the key hierarchy, top of the topology, and guidelines for child key derivations.

When wireless networks employ AAA infrastructures, cross-domain roaming is typically handled by inter-domain authentication via a “home” AAA/EAP server. Any authentication must pass through this home server, which increases latency. This latency can be reduced, however, by establishing a trust relationship between an EAP peer and a visited domain's AAA/EAP server. Such a trust relationship may be brokered by a home EAP/AAA server, and efficient re-authentication for the EAP peer may be supported locally (i.e., within the visited domain).

In consideration of all of this, there is a need for a system where authentication and authorization are performed separately and securely, and where a reliable trust mechanism for such operation is also provided. There is also a need for a system performing authentication and authorization separately that provides Authentication Authorization and Accounting (AAA) services with high performance and low complexity.

SUMMARY OF THE INVENTION

The present invention provides a system, comprising various methods and apparatus, for using an authorization token to separate authentication and authorization services, and do so in a secure and reliable manner. The system authenticates a client to an authenticating server; generates an authorization token with the authenticating server and the client; and authorizes services for the client using the generated authorization token. The system thus performs the authentication and authorization services separately, and provides satisfactory service security and performances.

Embodiments of the present invention provide an MN capability to assure an AAAz of a previous authentication with an AAAn. The AAAz is able to verify this authentication with the AAAn, and obtain security material (e.g., SRK) required for operation of system signaling. By providing explicit assurance from the MN within a service request to the AAAz, chances of spoofing and theft of service are significantly reduced. Architecture having separate AAAn and AAAz is thus provided.

Following a successful EAP authentication, and prior to a service request, an MN—using authentication states—and an AAAn both create an extended master session key (EMSK) that may later be utilized to create a specific root key (SRK). The MN may use specific parameters to generate the SRK on its own, and then create a SERVICE_TOKEN_KEY to sign its request for service. When the MN is ready to send a service request, it includes a signature using SERVICE_TOKEN_KEY and transmits the request. Once an AAAz receives that service request, it forwards the service request to an AAAn, together with usage data that relates to MIPv6 service. The AAAn may, after finding the MN's authentication state (including EMSK), verify the MN's authentication. Utilizing usage data sent by the AAAz, and EMSK, the AAAn may: create SRK and SERVICE_TOKEN_KEY; verify MN signature on a service request; or send a confirmation, together with SRK, back to the AAAz.

The following description and drawings set forth in detail a number of illustrative embodiments of the invention. These embodiments are indicative of but a few of the various ways in which the present invention may be utilized.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:

FIG. 1 is a diagram depicting an illustrative MIPv6 key hierarchy, resulting from EAP Authentication, according to the present invention;

FIG. 2 depicts an illustrative example of an MIPv6 authorization procedure in accordance with the present invention;

FIG. 3 is a diagram depicting an illustrative embodiment of a MN MIPv6_AUTHORIZATION_OPTION in accordance with the present invention; and

FIG. 4 is a diagram depicting an illustrative embodiment of a Handover Keying (HOKEY) operation in accordance with the present invention.

DETAILED DESCRIPTION

The following discussion is presented to enable a person skilled in the art to make and use the invention. The general principles described herein may be applied to embodiments and applications other than those detailed below without departing from the spirit and scope of the present invention as defined herein. The present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.

The present invention provides a system for using an authorization token to separate authentication and authorization services. The system separates the act of authentication from the act of authorization, and performs authentication or authorization through separate Authentication Authorization and Accounting (AAA) servers. A client may first authenticate to an authenticating AAA (AAAN) server, create an authorization token, and then later present the token to a different authorizing AAA (AAAZ) server; while requesting an access for a specific service.

Following a successful authentication, an AAAN server and a client may create a key (TOKEN_KEY) for signing a generic authorization token. Later, the client (or service equipment acting on behalf of the client) asks an AAAZ for service authorization. The client may sign its authorization request with either the TOKEN_KEY as is, or a child key of the TOKEN_KEY tied to a specific service—e.g., a SERVICE_TOKEN_KEY (generation includes service-related information). When an AAAZ server receives such a request, it may contact the AAAN server for the SERVICE_TOKEN_KEY, and verify that the client has been properly authenticated. It may then reach the user profile (based on user's identity), and make a proper authorization decision.

Using the earlier analogy of movie tickets, an authorization token is similar to a movie ticket. A user buying a movie ticket may need to show proper identification credentials (e.g., driver's license, credit card) at a ticket counter in order to authenticate their access to a particular resource or service (e.g., sufficient age to enter a theater showing an “R” rated movie). Once the user has thus been properly authenticated, they are granted authorization (e.g., a movie ticket) to gain access. Once the ticket is purchased, obtaining access (e.g., entering into the theater) only requires establishing authorization (e.g., showing the ticket), but not authentication.

In certain embodiments of the present invention, an Extensible Authentication Protocol (EAP) is provided for authentication, while a Mobile Internet Protocol (MIP) is provided as a service. In some embodiments, for example, an operator may need to deploy an AAA_EAP as an authenticating AAA (AAAN) server and an AAA_MIP for a Mobile IP service (AAAZ); or a mobility provider may only deploy an AAA_MIP, while relying on another operator for network access and authentication (AAA_EAP).

A mobile node with EAP client functionality may authenticate to an AAA_EAP using EAP authentication—either via a Home Agent (HA), or other suitable entity—as a pass-through authenticator. Authentication may be performed by any suitable method. Following a successful authentication, the client and AAA_EAP may generate EAP master session keys (MSK or EMSK), or other shared secret authentication keys. For ease of reference, such secret authentication keys may be referred to as Master Keys (MKs). A MK is available at both AAA_EAP and the client, at the end of an EAP authentication.

An AAA server and the client may create a TOKEN_KEY from an MK as follows:

-   -   TOKEN_KEY=PRF(MK, key generation data);         where PRF (Pseudo Random Function) may comprise a one way         cryptographic function, or other function or operation that         renders efforts to deduct input data from output data nearly         impossible. The key generation data may include: an ASCII label,         such as “Authorization key generation”; client identity; AAA_EAP         server identity; key length; or other optional fields. Both         client and AAA_EAP must have access to key generation data, so         that they may both create TOKEN_KEY.

Upon receipt of an EAP_Success message, the client may generate TOKEN_KEY in the same manner as the AAA_EAP server. If there are fields that the client does not have knowledge of, the AAA_EAP server may send information of those fields through an AAA protocol to an AAA client—acting as EAP pass-through—which in turn sends that information to the client through available links. The client may also obtain unknown field information through Mobile IP extensions. The client may create a service request such as, for example, a registration request, or a binding update in MIP. Since a service request may be forwarded to AAA_MIP (AAAZ)—possibly through a MIP Home Agent (HA)—the client may include a MIP extension (i.e., authorization extension), to verify that the client has been authenticated to that AAA_EAP.

The authorization extension (MIP) may include a signature of MIP messaging data—such as a message authentication code (MAC). This may be formed via a relevant registration request, or via binding update data—such as a Mobile node identification, etc. A signing key used by a client is a SERVICE_TOKEN_KEY. For the sake of simplicity, a TOKEN_KEY may be used as a SERVICE_TOKEN_KEY. A process for generating a SERVICE_TOKEN_KEY may take the form of:

-   -   SERVICE_TOKEN_KEY=PRF(TOKEN_KEY, service-data);         where service-data is data related to services being requested.         In this example, service-data is data related to MIP services.

An HA—upon receiving a MIP message including an authorization extension—may extract signature and include it in an AAA attribute/AVP, together with the MIP service request, to the AAA_MIP. The AAA_MIP may, after receiving the request, contact the AAA_EAP to retrieve the SERVICE_TOKEN_KEY; and to verify the MAC submitted by the client. When the MAC signature is verified successfully, the AAA_MIP may authorize MIP service accordingly.

For purposes of explanation and illustration, the present invention is described in greater detail hereinafter in relation to a MIPv6 application. In order to sufficiently tie authentication and authorization procedures between potentially different AAA servers, an AAAz may confirm previous authentication of an MN, and receive usage specific root keys (USRK). When an MN is ready to send a service request, it includes an authorization processing parameter—called a network service identifier (NSI)—with the service request to the AAAz, through a service agent (e.g., HA), which acts as an AAA client for AAAz. Since the MN is ready to request MIPv6 service, it has access to usage data. Using an EMSK rendered from EAP, the MN is able to generate a root key for MIPv6 service (MIP6_USRK). The MN may also generate a SERVICE_TOKEN_KEY from the MIPv6_USRK to “sign” its request for MIPv6 service.

Once the AAAz receives the service request, it forwards the service request to the AAAn, along with usage data. The AAAn may search for the MN's authentication state (including EMSK), and verify the MN's authentication. Utilizing the usage data sent by AAAz, and EMSK, the AAAn may: generate MIPv6 USRK and SERVICE_TOKEN_KEY; verify the MN signature on the service request; and send a confirmation, along with MIPv6_USRK, back to the AAAz.

One embodiment of a keying hierarchy is described in reference to FIG. 1, which illustratively depicts a keying hierarchy diagram 100—illustrating an authorization process. As noted, AAAn holds an EMSK and thus—upon receiving service data—may generate MIPv6_USRK. SERVICE_TOKEN_KEY and, optionally, Auth_ID may be generated from MIPv6_USRK. This process may take the form of:

-   -   SERVICE_TOKEN_KEY=PRF (MIP6 USRK, “service token key derivation”         |MN_ID|AAAz_ID|Service_type|length);         where the length of SERVICE_TOKEN_KEY is 128 bits. MN_ID and         AAAz_ID identify the two entities who share the key.

Referring now to FIG. 2, a depiction of one embodiment of a MIPv6 authorization procedure 200 in accordance with the present invention is illustrated. In procedure 200, after a successful authentication (i.e., EAP is utilized for authentication), AAAn sends a Diameter EAP answer (DEA) to an AAA client (HA). Upon reception of indication of successful EAP, or IKE configuration messaging, an MN initiates an authorization process—by first generating MIPv6_USRK, an NSI, and a SERVICE_TOKEN_KEY.

In the example of a MIPv6 application, a service request may be a binding update (BU). The MN adds an “MN_MIP6_Authorization_option”—a mobility option—to the BU. This mobility option comprises an authenticator field (i.e., a MAC) to protect the message and extension from tampering, and to provide assurance of a previous authentication.

A SERVICE_TOKEN_KEY, derived from MIPv6-USRK, may be used for creation of a MAC. In such instances, NSI is not used for purposes of identification. In fact, the same identity used for authentication to AAAn may be used again. An MN may, for example, use an NAI extension for this purpose. Upon reception of an MIPv6 BU message, an HA—as an AAA client of an AAAz—creates an MIPv6 authorization command for the AAAz. The HA inserts data, included in the MN_MIP6v_Authorization_option, inside an AVP for this command. An HA also includes User_Name AVP in the MIPv6 authorization request, to identify a particular MN. User_Name AVP carries the same MN identity as that previously used for authentication.

For the MIPv6 authorization request message, the AAAz first ensures that the MN is previously authorized. The AAAz investigates location of the AAAn that authenticated the MN, based on the MIPv6 Authorization Request, and sends a “Mobile IPv6 Key and verification request” (MKVR) command to the AAAn. This command may serve several purposes, including: an AAAz requesting an AAAn to verify a MAC signature, and thereby assure AAAz that an MN has already been authenticated; and to request creation a MIP6_USRK for usage at AAAz.

The AAAn needs usage data for MIPv6 (as found in [MIP USRK]) to be able to calculate MIP6_USRK. Thus, an AAAz must also include usage data—required for creation of MIP6_USRK—to the AAAn [USRK]. Usage data is included inside a “MIP6_Usage_data” AVP. Transport of usage data to AAAn is important, since AAAn (AAA_EAP) has the EMSK, while AAAn may not have access to Mobile IPv6 related data. AAAz may get part of usage data from the HA or MN.

After receiving a MKVR command from a AAAz, the AAAn performs several checks. The AAAn looks for key material (EMSK) stored for the MN, proceeds with creating MIP6_USRK using EMSK, and then generates SERVICE_TOKEN_KEY to check the MN signature. If the signature verification succeeds, the AAAn sends a MIPv6 key and verification answer (MKVA) back to the AAAz. This command verifies that MN has already been authenticated by the AAAn, so that AAAz can authorize MN for MIPv6 service, and includes the MIP6_USRK for AAAz usage. Therefore, MIP6_USRK AVP must be encrypted, using a previously established AAAn-AAAz security association (e.g. an AAAn-AAAz key encryption key). In the event that verification fails, MKVA includes an Authorization_Result AVP indicating the failure. When it receives an MKVA command, an AAAz may create other MIP6 child keys, using the received MIP6_USRK, and authorize the MN for Mobile IPv6 service—by sending a MIPv6 authorization answer to the AAA client (HA)

Upon receiving a MIPv6 authorization answer (MAA) message, an HA my obtain authorization result and MIP6 related keys. If authorization fails, the HA notifies the MN in the binding acknowledgement message. MN MIPv6_AUTHORIZATION_OPTION is an extension for MIPv6, and it comprises a service authorization request—which, for MIPv6, is a binding update sent to the HA. The option is designed to facilitate mobility and the MAC signature.

This is illustratively depicted in FIG. 3, which presents a diagram 300 representing an embodiment of a MN MIPv6_AUTHORIZATION_OPTION in accordance with the present invention. Here, type is assigned by IANA. The length of the option may depend on the length of a MAC. MN_ID is the same MN identifier used for previous authentication, and so may seem minimally redundant. Inclusion of a service type field within a MIPv6 option may also seem redundant. However, such inclusions may make conversion of such a MIPv6 option to other AVPs less complicated.

In instances where bandwidth limitation for links between an MN and an HA is of concern, this field may be dropped and added by the HA to a Diameter AVP. The length of “Service Type” is adaptable—based upon a number of systems factors, and emerging industry definitions and standards (e.g., IETF USRK definition efforts). MAC is an authenticator field for this option, and may be calculated as follows:

-   -   MAC=First (128, HMAC_SHA1 (SERVICE_TOKEN KEY, Authorization         data);         where     -   Authorization data=(optional data|MN_ID|Service_type).         Note that optional data may include AAAn realm information, and         thereby serve as an indicator of the AAA server that         authenticated the MN, and possible generated parts of Auth_ID.

The present invention thus provides an end client the ability to use an initial EAP authentication procedure to create an authorization token on its own, for each service request. Although the present invention is—for purposes of illustration and explanation—described above in relation to MIP, it is not limited exclusively to MIP, and may be applied to other service technologies or applications.

The system of the present invention also provides ability for an AAA_EAP to interact with authorization processes, without advance notification of the specific nature of a service being authorized. The system of the present invention provides EAP key hierarchy, and generates specific authorization keys from EAP—hiding MKs from all entities other than an AAA_EAP and clients. The system of the present invention utilizes MIP extensions to carry authorization token data from a mobile node to an AAAz, through an HA, and uses an AAA protocol attribute to carry authorization token data over an AAA protocol. The system of the present invention eliminates intervention of intermediary service equipments—such as MIP HA—in a verification process. This eliminates security issues related to an HA, such as an HA launching a “man in middle” attack. The system of the present invention also eliminates the need for an HA to function as an EAP pass-through authenticator, during an initial EAP authentication. According to the present invention, an HA does not have to be part of an authentication infrastructure.

Certain aspects of the present invention are further described in reference to the operation of a Handover Keying (HOKEY) based system 400, as illustratively depicted in FIG. 4. As previously noted, future extensions to conventional HOKEY deployments of EAP in wireless networks will likely be needed to facilitate inter-authenticator handover and roaming. The operation of system 400 according to the present invention provides a secure and efficient solution to those needs.

In the HOKEY embodiment illustrated in FIG. 4, an MN 402 authenticates to an EAP Server (AAAn) 404 using EAP. Both MN 402 and AAAn 404 generate EMSK. MN 402 initiates a request for a key management service (e.g., key distribution to 3rd party, session extension) by creating a key (SRK) from EMSK; and including a signature with the SRK (and other information) as an extension to a request message to server 404. This signature provides proof of possession of EMSK, which establishes a valid prior authentication.

An AAAz server 406—a distinct fulfillment server (i.e., continued service or third party) which may be an AAA server in a home or visited domain, or an AAA server collocated with server 404—creates a request to server 404 for verification of the signature, and may transmit service related data from MN 402. Server 404 generates SRK from EMSK—and, possibly, usage data from server 406—and verifies the signature. Server 404 may then create a handover root key (HRK), and other domain and usage-related keys, and transmit those back to server 406. Server 404 may, alternatively, send HRK to server 406—and allow it to generate SRK and verify the request itself. Once a request is verified, server 406 authorizes MN 402—and its associated authenticator—for service; and creates and provides keys for the authenticator. The system of the present invention thus provides the ability to use an initial EAP authentication procedure to generate or provide authorization tokens to third parties, or for session extension(s).

The previous description of the disclosed embodiments is provided to enable those skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art and generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein. 

1. A method of separating authentication and authorization services in a communications system, comprising the steps of: authenticating a client node to an authenticating server utilizing extensible authentication protocol; generating an authorization token; and authorizing services rendered to the client node via an authorizing server, based upon information in the authorization token.
 2. The method of claim 1, further comprising distributing the authorization token by which a client is capable of signing its service requests to an authorization server.
 3. The method of claim 2, wherein the client, following a successful authentication, signs service authorization requests towards the authorizing server.
 4. The method of claim 2, wherein the authorizing server authorizes the client service request, based upon the existence of the client signature, free from the authorizing server authenticating client identity.
 5. The method of claim 4, wherein the authorizing server authorizes a client service request for fulfillment by a continued service server.
 6. The method of claim 4, wherein the authorizing server authorizes a client service request for fulfillment by a third party server.
 7. A method by which a Handover Keying authorization request for a client, and authentication of the client, comprising the steps of: authenticating a client node to an authenticating server utilizing extensible authentication protocol; generating an authorization token; and authorizing services rendered to the client node via an authorizing server, based upon information in the authorization token.
 8. The method of claim 7, wherein the authorizing server is different from the authenticating AAA server, in at least one logical or physical aspect.
 9. The method of claim 7, further comprising distributing the authorization token by which a client is capable of signing its service requests to an authorizing server.
 10. The method of claim 7, wherein the client, following a successful authentication, signs service authorization requests towards the authorizing server.
 11. The method of claim 7, wherein the authorizing server authorizes the client service request, based upon the existence of the client signature, free from the authorizing server authenticating client identity.
 12. The method of claim 11, wherein the authorizing server authorizes a client service request for fulfillment by a continued service server.
 13. The method of claim 11, wherein the authorizing server authorizes a client service request for fulfillment by a third party server.
 14. The method of claim 7, wherein the authorization token is derived from an extensible authentication protocol master session key.
 15. The method of claim 7, wherein the authorization token comprises a shared secret authentication key between the authorizing server and the client node.
 16. The method of claim 14, wherein the extensible authentication protocol master session key is generated after successful extensible authentication protocol authentication.
 17. The method of claim 14, wherein the authorization token is delivered from the authentication server to the authorization server.
 18. The method of claim 14, wherein the authorization token is encrypted for delivery to the authorization server.
 19. A communications system comprising: an authenticating network component; an authorizing network component; and a client network component, adapted to: exchange authentication messages with the authenticating network component utilizing extensible authentication protocol; generate an authorization token; and transfer the authorization token to the authorizing server to request a service.
 20. The system of claim 19, wherein the service is Handover Keying service.
 21. A client network device for use in a communications system, comprising: a first component adapted to exchange authentication messages with an authenticating network component, utilizing extensible authentication protocol; a second component adapted to generate an authorization token; and a third component adapted to transfer the authorization token to the authorizing server to request a service.
 22. The device of claim 21, wherein the service is Handover Keying service.
 23. An authenticating network device for use in a communications system, comprising: a first component adapted to receive authentication messages from a client network device, utilizing extensible authentication protocol; a second component adapted to generate an authorization token; a third component adapted to receive a service authentication message from a network service device; and a fourth component adapted to authenticate the service authentication message utilizing the authorization token.
 24. The device of claim 23, wherein the service authentication message is for Handover Keying service. 